1. Field of Disclosure
The disclosure generally relates to the field of controlling motion of a system, and more specifically, to controlling motion of a system to perform tasks while enforcing constraints of the system.
2. Description of the Related Art
When a robot is controlled to perform certain operational tasks in a task-space, that robot's number of degrees of freedom (also called “DoF”) typically exceeds what is required to perform the operational tasks. In such circumstances, the robot is said to exhibit redundancy since there exist infinite joint motions that produce the specified task motion.
The occurrence of redundancy with respect to the specified tasks gives opportunity to achieve other objectives, such as avoiding obstacles, avoiding structural limits (e.g., joint limits, and self collisions), minimizing energy consumption, and creating balanced motions. See A. A. Maciejewski and C. A. Klein, “Obstacle avoidance for kinematically redundant manipulators in dynamically varying environments”, International Journal of Robotics Research, 4:109-117 (1985); see also H. Sugiura, M. Gienger, H. Janssen, and C. Goerick, “Real-time collision avoidance with whole body motion control for humanoid robots”, IEEE/RJS Int. Conf on Intelligent Robots and Systems (2007). In early research on redundancy resolution schemes, many of these objectives (including enforcing kinematic constraints) were considered as secondary tasks, performed in the null-space of the higher priority operational tasks. See Y. Nakamura, “Advanced Robotics, Redundancy and Optimization”, Addison-Wesley (1991); see also P. Hsu, J. Hauser, and S. Sastry, “Dynamic control of redundant manipulators”, J. Robotic Systems, 6(2):133-148 (1989).
Formulating constraints as secondary tasks cannot guarantee that constraints will be satisfied if there are insufficient degrees of freedom to satisfy both objectives (i.e., the operational tasks and the secondary tasks). In many cases, satisfying constraints is critical and therefore must be given priority over execution of operational tasks. A suggested solution is to formulate constraints as the highest priority operation and project the operational tasks onto the constraint null-space. See L. Sentis and O. Khatib, “A whole-body control framework for humanoids operating in human environments”, IEEE Int. Conf Robotics and Automation, Orlando, Fla. (2006). However, this solution has several drawbacks, particularly for the case when the task and constraint spaces are not known in advance.
As an example, consider a scenario of real-time transfer of task level motion from a human demonstrator to a humanoid robot. See B. Dariush, M. Gienger, A. Arumbakkam, Y. Zhu, B. Jian, K. Fujimura, and C. Goerick, “Online transfer of human motion to humanoids”, International Journal of Humanoid Robotics, 6:265-289 (2009). This scenario involves execution of an unplanned task motion subject to kinematic and balance constraints. The transferred motion may result in simultaneous self collisions occurring between multiple segment pairs, or violations of multiple joint limits. Two problems may arise under such circumstances. First, the constraint null-space may not exist, making infeasible the execution of secondary objectives, including tracking of the operational tasks. Second, in case of self collision avoidance, the Cartesian positions corresponding to the minimum distances between two colliding body segments are generally discontinuous, resulting in numerical and algorithmic instabilities which require special care. Thus, approaches solely based on null-space projections are insufficient to execute secondary objectives if there is no redundancy.